package com.visual.avplayer;

import android.content.Context;

import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.FormatStrategy;
import com.orhanobut.logger.Logger;
import com.orhanobut.logger.PrettyFormatStrategy;

import androidx.multidex.MultiDex;
import androidx.multidex.MultiDexApplication;

public class MainApplication extends MultiDexApplication {
    private final static String TAG = "MainApplication";
    private static MainApplication app;
    FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
            .showThreadInfo(false)  //（可选）是否显示线程信息。 默认值为true
            .methodCount(2)         // （可选）要显示的方法行数。 默认2
            .methodOffset(7)        // （可选）隐藏内部方法调用到偏移量。 默认5
//            .logStrategy(customLog) //（可选）更改要打印的日志策略。 默认LogCat
            .tag("ZZ")   //（可选）每个日志的全局标记。 默认PRETTY_LOGGER
            .build();

    public static MainApplication getInstance() {
        return app;
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

    @Override
    public void onCreate() {
        super.onCreate();
        app = this;
        Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy) {
            @Override
            public boolean isLoggable(int priority, String tag) {
                if (priority <= Logger.INFO) {
                    return BuildConfig.DEBUG;
                } else {
                    return true;
                }
            }
        });
    }
}
